1. Field of the Invention
This invention relates generally to microprogrammed data processing systems and in particular to the alignment of short operands and the merging of the short operand with the sign, exponent, non-operand characters and zone bits for storage in memory.
2. Description of the Prior Art
Data processing systems process data stored in memory in the form of decimal digits. Computer instructions are also stored in memory. Some of the instructions when processed by the data processing system result in arithmetic operations being performed on the decimal digits. For example, a decimal numeric instruction may be processed by the computing system to add one set of decimal digits--operand 1, from one group of memory locations to another set of decimal digits from another group of memory locations--operand 2, and place the result--operand 3, into a third group of memory locations.
Descriptors associated with the instruction define the characteristics of each of the operands. An operand may be a floating point number or a scaled number. Each decimal digit may have 4 bits or 9 bits. The descriptor also defines the number of decimal digits in the operand, the location of the decimal point, i.e., the scale factor, the character position within a word of the most significant character of the operand, and the location of the sign if the operand contains a sign, either in the most significant character position--leading sign, or the least significant character position in a scaled operand--trailing sign. The instruction will indicate if the operand is ASCII or EBCDIC and if the sign is part of an overpunched character.
This invention processes operand 3 in accordance with its descriptor for storage in memory.
Prior art systems, for example, the Honeywell 6000 family of computers, stored operand 3 in a bank of registers with combinational logic setting up the pointers to identify the number and positions of leading and trailing zeros as well as the character size, 4 bits or 9 bits, and the position of the sign, trailing or leading.
Microprogrammed systems were developed to perform the same functions as the hardware systems, such as the Honeywell 6000 and at a reduced product cost however, in certain areas, such as during the processing of decimal numeric instructions, a considerable number of firmware steps were required to condition the resultant operand 3 for storage in memory thereby reducing the system throughput during the processing of decimal numeric instructions.